package com.tianji.promotion.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.common.domain.dto.PageDTO;
import com.tianji.promotion.domain.dto.UserCouponDTO;
import com.tianji.promotion.domain.po.Coupon;
import com.tianji.promotion.domain.po.UserCoupon;
import com.tianji.promotion.domain.query.UserCouponQuery;
import com.tianji.promotion.domain.vo.CouponVO;

/**
* @author Cammy
* @description 针对表【user_coupon(用户领取优惠券的记录，是真正使用的优惠券信息)】的数据库操作Service
* @createDate 2025-02-25 09:21:24
*/
public interface UserCouponService extends IService<UserCoupon> {

    /**
     * 领取优惠券接口
     * @param couponId
     */
    void receiveCoupon(Long couponId);

    /**
     * 兑换码兑换优惠券接口
     * @param code
     */
    void exchangeCoupon(String code);


    void checkAndCreateUserCoupon(UserCouponDTO userCouponDTO);

    /**
     * 分页查询我的优惠券
     * @param userCouponQuery
     * @return
     */
    PageDTO<CouponVO> queryMyCouponPage(UserCouponQuery userCouponQuery);

}
